﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sisco.AccesoDatos
{
    public class CasoProblemaDAO
    {
        SiscoEntities conexion;

        public List<AccesoDatos.CASOS_PROBL> Listar()
        {
            List<CASOS_PROBL> lista = new List<CASOS_PROBL>();

            using (conexion = new SiscoEntities())
            {
                lista = conexion.CASOS_PROBL.Where(x => x.eliminado == 0).ToList();
            }

            return lista;
        }

        public int Registrar(CASOS_PROBL nuevoCasoProblema)
        {
            using (conexion = new SiscoEntities())
            {
                conexion.CASOS_PROBL.Add(nuevoCasoProblema);
                return conexion.SaveChanges();
            }
        }

        public void Actualizar(CASOS_PROBL selectedCasoProblema, CASOS_PROBL updCasoProblema)
        {
            using (conexion = new SiscoEntities())
            {
                conexion.CASOS_PROBL.Attach(selectedCasoProblema);
                selectedCasoProblema.descripcion = updCasoProblema.descripcion;
                selectedCasoProblema.tipo = updCasoProblema.tipo.HasValue ? updCasoProblema.tipo.Value : new Nullable<int>();
                conexion.SaveChanges();
            }
        }

        public void Eliminar(CASOS_PROBL selectedCasoProblema)
        {
            using (conexion = new SiscoEntities())
            {
                conexion.CASOS_PROBL.Attach(selectedCasoProblema);             
                conexion.CASOS_PROBL.Remove(selectedCasoProblema);
                conexion.SaveChanges();
            }
        }
    }
}
